1. Technical Field
The present invention generally relates to network storage appliances. More particularly, the present invention relates to reducing susceptibility of network storage appliance firmware and configuration to corruption, and resolving contention among redundant network storage appliances.
2. Background Information
Network storage has come a long way in terms of speed, availability and capacity. The high demands placed on network storage typically results in the need to provide storage services on a high availability basis. To achieve high availability, redundant network storage appliances can be used. In one such scenario, two storage appliances are coupled in parallel between the network storage and the network, so that if one of them goes down, the other takes over. As one skilled in the art will know, and except in some more complex scenarios, the two appliances should not provide the same service simultaneously, as that could lead to data corruption.
While redundant network storage appliances do provide high availability in most cases, if communication between the redundant appliances goes down, but the appliances themselves are still operational, there is no way for either of them to know that the other is still up. In that case, both will start providing service to the network for the same storage. This common clustering problem is known as “split brain.” This condition can also result in the more complex scenarios noted above where simultaneous servicing is possible, since even in those situations, the appliances must still communicate and synchronize.
Another problem with network storage appliances is the susceptibility to corruption of the firmware and configuration from viruses, malware and other means.
Thus, a need exists for a way to resolve contention among redundant network storage appliances, and to reduce susceptibility to corruption of network storage appliance firmware and configuration.